import { defineStore } from 'pinia'
import { reactive } from 'vue'

const useUser = defineStore('user', () => {
    const defaultUser = {
        isLogin: false,
        username: '',
        avatar: ''
    }
    const user = reactive(Object.assign({}, defaultUser))
    const updateUser = options => {
        Object.assign(user, options)
        return user
    }
    const removeUser = () => {
        Object.assign(user, defaultUser)
        return user
    }
    return { user, updateUser, removeUser }
},
    {
        persist: {
            enabled: true, strategies: [
                {
                    key: 'user',
                    storage: localStorage
                }
            ]
        }
    })
export default useUser